Oracle Diagnostic Loggingの使用
6-2 Oracle HTTP Serverスタンドアロン・デプロイの管理Apache 2.0ベース
Oracle Diagnostic Logging の使用 の使用 の使用 の使用
Oracleでは、診断メッセージの報告のために新しい方法を提供しています。この新しい方法は
Oracle Diagnostic Logging(ODL)と呼ばれ、診断メッセージとログ・ファイルのための共通
形式と、Oracle Application Server全体の様々なコンポーネントからの全診断メッセージを相
互に関係付ける仕組みを提供しています。ODLを使用して、各コンポーネントはそのコンポー ネント専用のプライベート・ローカル・リポジトリにそれぞれのメッセージをロギングします。
LogLoaderというツールが、各リポジトリからメッセージを収集して共通リポジトリにロード します。メッセージは、この共通リポジトリで1つのログ・ストリームとして表示するか、
様々な方法で分析することができます。
Oracle Application Serverの診断ログ・ファイルは、テキスト・エディタを使用して表示でき
ます。
ODLについては、次の項で詳しく説明します。
■ 概要
■ Oracle HTTP Serverの構成
概要 概要 概要 概要
Oracle HTTP Serverでは、ログ・メッセージを生成する形式を選択できます。従来型の
Apacheメッセージ形式でログ・メッセージを生成するか、ODLを使用してログ・メッセージ
の生成を続行できます。ODLは、ログ・メッセージ生成用の新しいOracle標準に準拠してい ます。
Oracle HTTP Server の構成 の構成 の構成 の構成
Oracle HTTP ServerでODLを使用可能にするには、httpd.confファイルに次のディレク
ティブを入力します。
Oracle Diagnostic Loggingの使用
サーバー・ログの構成と使用 6-3
OraLogSeverity module_name <msg_type>{:msg_level]
メッセージ重大度を設定できます。このディレクティブで指定されるメッセージ重大度は、必 要最低限のメッセージ重大度として解釈され、この重大度レベル以上のすべてのメッセージは ロギングされます。
OraLogSeverityは、複数回指定できます。グローバル(module_nameなし)に指定した 後、モジュール固有のログ重大度が必要なモジュール1つにつき1回ずつ指定できます。
このディレクティブは、OraLogModeがoracleに設定されているときにのみ使用されます。こ のディレクティブは、LogLevelディレクティブのかわりに使用できますが、必須ではありま せん。OraLogSeverityが指定され、OraLogModeがoracleに設定されている場合、
LogLevelは無視されます。
module_name この引数は、モジュール構造内に示されるモジュールの内部名です。
<IfModule>ディレクティブもこの内部名を使用します。モジュール構造は、モジュール構造 を定義するファイルの_FILE_マクロの値から(パス接頭辞を削除して)モジュール名を導出 します。モジュール名を指定しない場合は、OraLogSeverityディレクティブがグローバルに 適用されます。
モジュール名を指定した場合は、指定されたモジュールで発生した、すべてのメッセージのグ ローバル・ディレクティブの値をこのディレクティブがオーバーライドします。ロードされな いモジュールの名前を指定すると、エラーが発生します。
msg_type メッセージ・タイプは大文字でも小文字でも指定できますが、メッセージ出力は大文 字で表示されます。このパラメータには、次の値のいずれかを指定する必要があります。
■ INTERNAL_ERROR
■ ERROR
■ WARNING
■ NOTIFICATION
■ TRACE
msg_level このパラメータは、範囲が1~32の整数に指定する必要があります。1は最高重大
度、32は最低重大度を示します。レベル1を使用すると、レベル32よりメッセージが少なく なります。
表6-1に、OraLogSeverityの例をいくつか示します。
表表
表表6-1 OraLogSeverityの例の例の例の例
OraLogSeverityの例の例の例の例 処理処理処理処理 OraLogSeverity
INTERNAL_ERROR:10
レベル1~10の内部エラー(INTERNAL_ERROR)タイプ のメッセージをすべてロギングします。
OraLogSeverity WARNING:7 全レベルの内部エラー(INTERNAL_ERROR)タイプのメッ セージをすべてロギングします。
全レベルのエラー(ERROR)タイプのメッセージをすべてロ ギングします。
レベル1~7の警告(WARNING)タイプのメッセージをす
べてロギングします。
Oracle Diagnostic Loggingの使用
6-4 Oracle HTTP Serverスタンドアロン・デプロイの管理Apache 2.0ベース デフォルト
デフォルト デフォルト
デフォルト メッセージ・レベルを指定しない場合、レベルはデフォルトの最低重大度になりま す。ディレクティブ全体を指定しない場合、グローバルなApacheのLogLevelディレクティ ブの値が使用され、表6-2に示されるように、これに対応するOracleメッセージ・タイプおよ び対応する範囲内の最低レベル(最高値)に変換されます。
OraLogDir <bus stop dir>
すべてのログ・ファイルを含むディレクトリへのパスを指定します。このディレクトリは存在 している必要があります。
デフォルト デフォルト デフォルト デフォルト:
■ UNIXの場合: ORACLE_HOME/Apache/Apache/logs/oracle
■ Windowsの場合: ORACLE_HOME¥Apache¥Apache¥logs¥oracle
OraLogSeverity WARNING OraLogSeverity mod_oc4j.c NOTIFICATION:4
メッセージ・ソースがmod_oc4jの場合:
■ 全レベルの内部エラー(INTERNAL_ERROR)タイプの メッセージをすべてロギングします。
■ 全レベルのエラー(ERROR)タイプのメッセージをすべ てロギングします。
■ 全レベルの警告(WARNING)タイプのメッセージをす べてロギングします。
■ レベル1~4の通知(NOTIFICATION)タイプのメッ セージをすべてロギングします。
その他のソースからのメッセージの場合:
■ 全レベルの内部エラー(INTERNAL_ERROR)タイプの メッセージをすべてロギングします。
■ 全レベルのエラー(ERROR)タイプのメッセージをすべ てロギングします。
■ 全レベルの警告(WARNING)タイプのメッセージをす べてロギングします。
表 表 表
表6-2 Apacheログ・レベルとログ・レベルとログ・レベルとログ・レベルとOracleメッセージ・タイプの対応メッセージ・タイプの対応メッセージ・タイプの対応メッセージ・タイプの対応
Apacheログ・レベルログ・レベルログ・レベルログ・レベル Oracleメッセージ・タイプメッセージ・タイプメッセージ・タイプメッセージ・タイプ
emerg INTERNAL_ERROR:16
alert INTERNAL_ERROR:32
crit ERROR:16
error ERROR:32
warn WARNING:32
notice NOTIFICATION:16
info NOTIFICATION:32
debug TRACE:32
関連項目 関連項目 関連項目
関連項目: 6-5ページの「ログ・レベルの指定」
表表
表表6-1 OraLogSeverityの例(続き)の例(続き)の例(続き)の例(続き)
OraLogSeverityの例の例の例の例 処理処理処理処理
ログ・ファイルの指定
サーバー・ログの構成と使用 6-5
ログ・レベルの指定 ログ・レベルの指定 ログ・レベルの指定 ログ・レベルの指定
表6-3に、様々なロギング・レベル、説明およびメッセージの例を示します。
ログ・ファイルの指定 ログ・ファイルの指定 ログ・ファイルの指定 ログ・ファイルの指定
この項では、次のログ・ファイルの機能と位置について説明します。
■ アクセス・ログ
■ カスタム・ログ
■ エラー・ログ
■ PIDファイル
■ パイプされたログ
■ リライト・ログ
■ スクリプト・ログ
■ SSLログ
■ 送信ログ
中程度にビジーなサーバー上では、既存のログを移動または削除して、ログ・ファイルを定期 的に切り替えることが重要です。この場合、新規ログ・ファイルがオープンされるように、ロ グ・ファイルを移動または削除した後にサーバーを再起動する必要があります。
表表
表表6-3 ロギング・レベルロギング・レベルロギング・レベルロギング・レベル ロギング・レベル ロギング・レベル ロギング・レベル
ロギング・レベル 説明説明説明説明 メッセージの例メッセージの例メッセージの例メッセージの例
emerg 緊急 - システムは使用不可です。 "Child cannot open lock file.Exiting."
alert ただちに処理する必要があります。 "getpwuid: couldn't determine user name from uid"
crit クリティカル条件。 "socket: Failed to get a socket, exiting child"
error エラー条件。 "Premature end of script headers"
warn 警告条件。 "child process 1234 did not exit, sending another SIGHUP"
notice 正常だが重要な条件。 "httpd: caught SIGBUS, attempting to dump core in..."
info 情報メッセージ。 "Server seems busy, (you may need to increase StartServers, or
Min/MaxSpareServers)..."
debug デバッグ・レベルのメッセージ。 "Opening config file..."
注意 注意 注意
注意: LogLevelディレクティブは、OraLogModeがoracleで、
OraLogSeverityが設定されている場合、省略できます。
関連資料 関連資料 関連資料
関連資料: Apache Serverマニュアルの「Log Rotation」
ログ・ファイルの指定
6-6 Oracle HTTP Serverスタンドアロン・デプロイの管理Apache 2.0ベース
アクセス・ログ アクセス・ログ アクセス・ログ アクセス・ログ
サーバーによって処理されたすべてのリクエストが記録されます。アクセス・ログの位置と内 容は、カスタム・ログ・ディレクティブで制御します。LogFormatディレクティブを使用する と、ログの内容を簡単に選択できます。
LogFormat の指定 の指定 の指定 の指定
LogFormatを使用して、ログ・ファイルに含める情報と書込み方法を指定します。デフォルト
の書式はCommon Log Format(CLF)です。CLF書式はhost ident authuser date
request status bytesです。
■ host: クライアントのドメイン名またはIPアドレス
■ ident: IdentityCheckが有効化されており、クライアント・マシンでidentdが実行さ れている場合のクライアント識別情報
■ authuser: 許可されたユーザーのユーザーID
■ date: <day/month/year:hour:minute:second>書式のリクエスト日時
■ request: 二重引用符で囲まれたクライアントからのリクエスト行
■ status: クライアントに戻される3桁のステータス・コード
■ bytes: ヘッダーを除いた、クライアントに戻されるバイト数
カスタム・ログ カスタム・ログ カスタム・ログ カスタム・ログ
CustomLogディレクティブは、サーバーへのリクエストをロギングするために使用されます。
ログ書式が指定され、環境変数を使用して、リクエストの特性に応じてオプションでロギング できます。
エラー・ログ エラー・ログ エラー・ログ エラー・ログ
診断情報を送信し、エラー・メッセージをログ・ファイルに記録します。デフォルトでは、こ のファイルは次の場所にあります。
■ UNIXの場合: ORACLE_HOME/ohs/logs/error_log
■ Windowsの場合: ORACLE_HOME¥ohs¥logs¥error_log
ファイル名は、ErrorLogディレクティブを使用して設定できます。
関連資料関連資料
関連資料関連資料: Apache Serverマニュアルの「Access Log」
関連資料関連資料
関連資料関連資料: Apache Serverマニュアルの「CustomLog directive」
関連資料 関連資料 関連資料
関連資料: Apache Serverマニュアルの「ErrorLog directive」